﻿using System;
using System.Windows.Forms;

namespace MarioMapEditor
{
    public partial class FormNewMap : Form
    {
        private readonly MainForm _mParent;

        public FormNewMap(MainForm parent)
        {
            _mParent = parent;
            InitializeComponent();
        }

        private void TbRowKeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && e.KeyChar != '.')
            {
                e.Handled = true;
            }
        }

        private void TbColKeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && e.KeyChar != '.')
            {
                e.Handled = true;
            }
        }

        private void BtOKClick(object sender, EventArgs e)
        {
            int row, col;
            if (tbRow.Text.Trim() == "")
            {
                MessageBox.Show("Vui lòng nhập số hàng...", "Lỗi", MessageBoxButtons.OK);
                return;
            }

            if (tbCol.Text.Trim() == "")
            {
                MessageBox.Show("Vui lòng nhập số cột...", "Lỗi", MessageBoxButtons.OK);
                return;
            }

            if (!Int32.TryParse(tbRow.Text, out row))
            {
                MessageBox.Show("Không thể chuyển số hàng thành số tự nhiên", "Lỗi", MessageBoxButtons.OK);
                return;
            }

            if (!Int32.TryParse(tbCol.Text, out col))
            {
                MessageBox.Show("Không thể chuyển số cột thành số tự nhiên", "Lỗi", MessageBoxButtons.OK);
                return;
            }

            _mParent.CreatePb(row, col);
            Close();
        }

        private void TbColKeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                BtOKClick(sender, e);
            }
        }

        private void TbRowKeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                tbCol.Focus();
            }
        }
    }
}
